<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        function sleep(time) {
            return new Promise((res, r) => {
                setTimeout(res, time);
            })
        }
        // 我自己的血量
        var myHp = 1000;
        // 产生 5-10 的随机数
        function getRandom() {
            var n = Math.random(); // 产生 0~0.999999 的随机数
            n = n * 6; // 0 ~ 5.999999 的随机数
            n = parseInt(n); // 0 ~ 5 
            n = n + 5; // 产生最终 5 ~ 10 的随机数
            return n; // 返回产生的随机数
        }
        /**
         * @param name 敌人的名称
         * @param hp 敌人的血量
         */
        async function fight(name, hp) {
            // 战斗双方的血量均要大于0
            while (hp > 0 && myHp > 0) {
                // 攻击敌人
                var myAt = getRandom();//此次伤害 随机数 
                hp -= myAt;//敌人血量减少
                console.log('我攻击了 %s 一下，他受到了 %s 伤害，还剩 %s 血',
                    name, myAt, hp);
                await sleep(500);// 暂停500ms
                var at = getRandom();// 敌人打我的伤害
                myHp -= at; // 我的血量减少
                console.log(' %s攻击了我 一下，我受到了 %s 伤害，还剩 %s 血',
                    name, at, myHp);
                await sleep(200);//暂停200ms
            }
            return hp;
        }

        async function main() {
            await fight('菜徐琨', 20);
            await fight('热心网友', 20);
            await fight('何寒', 20);
        }
        main();


        function getSum(x, y) {
            return x + y;
        }
        //  调用
        getSum(10,20) 



    </script>
</body>

</html>